package pe.edu.upc.dsd.epica.movil;

import java.util.ArrayList;

import com.google.gson.Gson;
import com.google.gson.JsonParseException;


import pe.edu.upc.dsd.epica.R;
import pe.edu.upc.dsd.epica.model.Establecimiento;
import pe.edu.upc.dsd.epica.model.ListaEstablecimientos;
import pe.edu.upc.dsd.epica.model.ListaPromociones;
import pe.edu.upc.dsd.epica.model.Promocion;
import pe.edu.upc.dsd.epica.util.Constants;
import pe.edu.upc.dsd.epica.util.EstablecimientoAdapter;
import pe.edu.upc.dsd.epica.util.PromocionAdapter;
import pe.edu.upc.dsd.epica.util.RequestMethod;
import pe.edu.upc.dsd.epica.util.RestClient;

import android.app.ListActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;

public class listapromocion extends ListActivity {
	final String TAG = getClass().getName();
	
	public void onCreate(Bundle icicle) {
		super.onCreate(icicle);

		
		Bundle bund = this.getIntent().getExtras();
		
		String establecimiento;

		establecimiento = bund.getString("Establecimiento");
		
		RestClient client = 
				new RestClient(Constants.UrlRest+"promocion/establecimiento/" + establecimiento);
		try {
		client.Execute(RequestMethod.GET);
		} catch (Exception e) {
			Log.e(TAG, e.getMessage());
		}

		String response = client.getResponse();

		Gson gson = new Gson();
		ListaPromociones responseObject = null;

		try {
		responseObject = 
		gson.fromJson(response, ListaPromociones.class);
		
		this.setListAdapter(
				new PromocionAdapter(this, R.layout.listapromocion,responseObject.getListaPromociones())); 
		} catch (JsonParseException e) {
			Log.e(TAG, e.getMessage());
		}
	}

	@Override
	protected void onListItemClick(ListView l, View v, int position, long id) {
		super.onListItemClick(l, v, position, id);
		// Get the item that was clicked
		Promocion pro = (Promocion)this.getListAdapter().getItem(position);
		
		
		RestClient client = new RestClient(Constants.UrlRest+"promocion/" + pro.getCodigo());
		try {
		client.Execute(RequestMethod.GET);
		} catch (Exception e) {
			Log.e(TAG, e.getMessage());
		}

		String response = client.getResponse();

		Gson gson = new Gson();
		Promocion responseObject = null;

		try {
		responseObject = 
		gson.fromJson(response, Promocion.class);
		
		String keyword = "Nombre: " + pro.getNombre() + "\n Descuento:" + Integer.toString(pro.getPorDescto()) + " % \n Fecha venc:" + pro.getFecVencimiento();
		Toast.makeText(this, keyword, Toast.LENGTH_LONG).show();

		} catch (JsonParseException e) {
			Log.e(TAG, e.getMessage());
		}
		
		
		

	}
	
}
